package paq_negocio;

import com.sun.rowset.CachedRowSetImpl;

import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.Stateless;
import paq_clase_interfaz.interfaz_promocion;
import paq_entidades.enti_coordinador;
import paq_entidades.enti_paralelo;
import paq_entidades.enti_programa_postgrado;
import paq_entidades.enti_promocion;
import paq_entidades.enti_variables;
import paq_sentencias.Ejecutarsql;
@Stateless
public class neg_promocion implements interfaz_promocion {

    enti_variables v = new enti_variables();
    enti_programa_postgrado prog = new enti_programa_postgrado();
    enti_paralelo para = new enti_paralelo();
    enti_coordinador coor = new enti_coordinador();
    enti_promocion entidad = new enti_promocion();
    Ejecutarsql ejec = new Ejecutarsql();

    @Override
    public void insertar(String pp_codigo, String pr_cedula, String pl_codigo, String finicio, String ffin, String nombre, Integer numeroestudinates) {
        prog.setCodigo(pp_codigo);
        coor.setPe_cedula(pr_cedula);
        para.setCodigo(pl_codigo);
        entidad.setProm_fechainicio(finicio);
        entidad.setPro_fechafin(ffin);
        entidad.setPro_nombre(nombre);
        entidad.setNumestudiantes(numeroestudinates);
        String sql = "insert into promocion (prom_codigo,pp_codigo,pr_cedula,pl_codigo,prom_fechainicio,pro_fechafin,pro_nombre,pro_numero_estudiantes) values(concat('pro',pro.NextVal),'" + prog.getCodigo() + "'," + coor.getPe_cedula() + ",'" + para.getCodigo() + "',to_date('" + entidad.getProm_fechainicio() + "','yyyy-dd-mm'),to_date('" + entidad.getPro_fechafin() + "','yyyy-dd-mm'),'" + entidad.getPro_nombre() + "','" + entidad.getNumestudiantes() + "')";
      //to_date('" + entidad.getPromo_fechainicio() + "','yyyy-dd-mm')
        ejec.ejecutar2(sql);
    }

    @Override
    public void eliminar(String al_codigo) {
        entidad.setProm_codigo(al_codigo);
        String sql = "delete from  promocion where prom_codigo='" + entidad.getProm_codigo() + "'";
        ejec.ejecutar2(sql);
    }

    @Override
    public void actualizar(String codigo, String pp_codigo, String pr_cedula, String pl_codigo, String finicio, String ffin, String nombre, Integer numeroestudinates) {
        entidad.setProm_codigo(codigo);
        prog.setCodigo(pp_codigo);
        coor.setPe_cedula(pr_cedula);
        para.setCodigo(pl_codigo);
        entidad.setProm_fechainicio(finicio);
        entidad.setPro_fechafin(ffin);
        entidad.setPro_nombre(nombre);
        entidad.setNumestudiantes(numeroestudinates);
        String sql = "update promocion set pp_codigo='" + prog.getCodigo() + "',pr_cedula='" + coor.getPe_cedula() + "',pl_codigo='" + para.getCodigo() + "',prom_fechainicio='" + entidad.getProm_fechainicio() + "',pro_fechafin='" + entidad.getPro_fechafin() + "',pro_nombre='" + entidad.getPro_nombre() + "',prom_fechainicio='" + entidad.getNumestudiantes() + "' where prom_codigo='" + entidad.getProm_codigo() + "'  ";
        ejec.ejecutar2(sql);

    }

    @Override
    public CachedRowSetImpl getLista() {
           try {    
       
            v.crs=(CachedRowSetImpl) ejec.rellena2("select * from promocion order by prom_codigo desc");
        } catch (Exception ex) {
            Logger.getLogger(neg_promocion.class.getName()).log(Level.SEVERE, null, ex);
        }
         return v.crs;
    }

    @Override
    public CachedRowSetImpl getListacombopromocion() {
         try {
              v.crs2=(CachedRowSetImpl)ejec.rellena2("SELECT (PROG.PP_NOMBRE  || ' ' ||PROM.PRO_NOMBRE) AS PRO_NOMBRE,PROM.PROM_CODIGO FROM PROGRAMA_POSTGRADO PROG, PROMOCION PROM WHERE  PROG.PP_CODIGO=PROM.PP_CODIGO");
           // v.crs2=(CachedRowSetImpl)ejec.rellena2("select * from promocion");
        } catch (Exception ex) {
            Logger.getLogger(neg_promocion.class.getName()).log(Level.SEVERE, null, ex);
        }
           return v.crs2;
    }
}
